package cn.wolfcode.rbac.mapper;

import cn.wolfcode.rbac.domain.Customer;
import cn.wolfcode.rbac.domain.Customertransfer;
import cn.wolfcode.rbac.domain.SystemDictionaryItem;
import cn.wolfcode.rbac.query.QueryObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CustomerMapper {
    //客户列表
    public List<Customer> selectAll(QueryObject qo);
    //失败客户列表
    public List<Customer> failList(QueryObject qo);
    //潜在客户列表
    public List<Customer> potentialList(QueryObject qo);
    //客户池
    public List<Customer> poolList(QueryObject qo);
    //正式客户列表
    public List<Customer> officialList(QueryObject qo);
    //流失客户列表
    public List<Customer> turnoverList(QueryObject qo);
    //吸纳客户
    public int absorb(Customertransfer customertransfer);

    //添加客户
    public int insert(Customer customer);
    //修改客户
    public int update(Customer customer);
    //修改客户状态
    public int updateStateById(@Param("customerId")Long customerId, @Param("status")Integer status);

    //单个查询
    public List<Customer> selectById(Long id);
    //移交
    public int oldTransferNew(@Param("customerId")Long customerId,@Param("newSellerId")Long newSellerId);


}
